A content delivery network (CDN) is a geographically distributed network for delivering network content. Network content can include images, text, sound, software, and numerous other types of electronic data. CDNs can include request routing servers and request routing agents positioned at various locations around the world. The request routing servers and agents work together to provide network content for clients. Request routing servers and agents are typically used for increasing the speed with which clients receive requested network content. In certain network configurations, when a client requests network content, a request routing server provides the Internet Protocol (IP) address of the nearest request routing agent that is able to serve the content. Using the IP address, the client requests the content from the nearby request routing agent.
CDNs rely on network proximity measurements (network proximity is a measure of temporal proximity or latency) to route content requests to the closest request routing agents. Network proximity is often actively measured. When proximity is actively measured, a request routing agent typically sends probe messages to a client agent. In response to receiving the probe messages, the client agent typically sends reply messages back to the request routing agent. Proximity is measured from the delay between when the request routing agent sends a probe message and when it receives a reply to the probe message. Based on this message exchange, a request routing agent can estimate its proximity to the client agent. Request routing agents report these proximity estimates to the request routing servers, so the request routing servers can determine which request routing agents are nearest to certain client agents.
A large number of enterprises and Internet service providers deploy layer filters (e.g., firewalls) to prevent unwanted intrusions. A side effect of this is that active probe messages between the request routing agent and the client agent are blocked (e.g., layer filters may not forward some probe messages to their destination; thus dropping or discarding the probe message). When the probe message does not reach the client's agent, the request routing agent cannot estimate proximity between itself and the client's agent. When no proximity measurement is reported to the request routing agent, the request routing agent is unable to report proximity information to the request routing server, which in turn cannot accurately redirect the client to the closest cache.